package org.springblade.modules.repair.dto;

import cn.hutool.http.HtmlUtil;
import lombok.Data;
import org.springblade.modules.repair.enums.GroupRobotEnum;

/**
 * @author Jackey
 * @date 2023年05月18日 11:21
 */

@Data
public class RobotMessageDTO {

	/**
	 * 	消息类型：1 文字 5 小程序卡片 0 两者一起发
	 */
	private Integer type;

	/**
	 * 	消息内容，如果type为1必填，内容换行使用\n
	 */
	private String content;

	/**
	 * thumbUrl
	 */
	private String thumbUrl;

	public void setPagePath(String pagePath) {
		this.pagePath = HtmlUtil.unescape(pagePath);
	}

	/**
	 * pagePath
	 */
	private String pagePath;

	/**
	 * 物业端appId
	 */
	private String appid = "wx92a599ff82b568e9";

	/**
	 * title
	 */
	private String title;

	/**
	 * iconUrl
	 */
	private String iconUrl = "http://mmbiz.qpic.cn/mmbiz_png/cEiceweiaTZt0kQn9N5libcpxtC9LkvTgJDAJZlicpcCFXznia85FWXOj1jaSZlNXWVhkm5bot11uNPGDa9Vhg0gicVQ/640?wx_fmt=png&wxfrom=200";

	/**
	 * description
	 */
	private String description = "希道梯无忧物业端";

	/**
	 * username
	 */
	private String username = "gh_131ab9dbbc14@app";

	/**
	 * 维保类型:-1-维修报告报告 1.保养 2.维修
	 */
	private Integer maintainType;

	/**
	 * 维保子类型描述(中文,带上大括号)
	 */
	private String maintainSubTypeDesc;

	/**
	 * 推送类型
	 */
	private Integer pushType;

	public Integer getPushType() {
		switch (this.maintainSubTypeDesc) {
			case "【维修派单通知】":
				return GroupRobotEnum.REPAIR_SEND.getPushType();
			case "【开始维修通知】":
				return GroupRobotEnum.REPAIR_BEGIN.getPushType();
			case "【维修到场通知】":
				return GroupRobotEnum.REPAIR_ARRIVE.getPushType();
			case "【维修退场通知】":
				return GroupRobotEnum.REPAIR_LEAVE.getPushType();
			case "【维修完成通知】":
				return GroupRobotEnum.REPAIR_FINISH.getPushType();
			case "【开始保养通知】":
				return GroupRobotEnum.MAINTAIN_BEGIN.getPushType();
			case "【保养到场通知】":
				return GroupRobotEnum.MAINTAIN_ARRIVE.getPushType();
			case "【保养退场通知】":
				return GroupRobotEnum.MAINTAIN_LEAVE.getPushType();
			case "【保养完成通知】":
				return GroupRobotEnum.MAINTAIN_FINISH.getPushType();
			case "【维修报告通知】":
				return GroupRobotEnum.REPAIR_REPORT.getPushType();
			case "【救援调度中】":
				return GroupRobotEnum.RESCUE_DISPATCH.getPushType();
			case "【救援已出发】":
				return GroupRobotEnum.RESCUE_PROCESSED.getPushType();
			case "【救援已到达】":
				return GroupRobotEnum.RESCUE_ARRIVE.getPushType();
			case "【救援完成】" :
				return GroupRobotEnum.RESCUE_RESCUE.getPushType();
		}
		return this.pushType;
	}
}
